<?php

class Empresa extends BaseModel {

    private $extension; // Objeto empresa que tiene comportamiento específico

    static $table_name = 'empresas';
    static $primary_key = 'idempresa';
    static $has_many = array(
        array(
            '_planes',
            'class_name' => 'Plan',
            'foreign_key' => 'empresa'
            )
    );

    function __construct(array $attributes=array(), $guard_attributes=true, $instantiating_via_find=false, $new_record=true) {
      parent::__construct($attributes, $guard_attributes, $instantiating_via_find, $new_record);
      $this->extension = $this->create_extension();;
      }

    private function create_extension() {
        $nombre_empresa = $this->get_extension_name();
        return new $nombre_empresa();
    }
    
    function get_extension_name(){
        $a = array('á', 'é', 'í', 'ó', 'ú', ' ');
        $b = array('a', 'e', 'i', 'o', 'u', '');
        return ucwords(str_replace($a, $b, $this->nombreempresa));
    }

    function get_logo() {
        return $this->extension->get_logo();
    }

    function excede_cuenta_corriente($afiliado) {
        return $this->extension->excede_cuenta_corriente($afiliado);
    }

    function total($afiliado){
        return $this->extension->total_cuenta_corriente($afiliado);
    }
    
}

?>
